﻿Module Module1

    Sub Main()
        Dim dato1 As Integer = 0
        Dim dato2 As Integer = 0
        Dim opcion As Integer = 0

        'mostramos el menú.
        Console.WriteLine("1- Área triángulo.")
        Console.WriteLine("2- Área cuadrado.")
        Console.WriteLine("3- Área Rombo.")
        Console.WriteLine("4- Salir.")
        Console.WriteLine("") ' salto de linea.
        opcion = Console.ReadLine()

        Select Case opcion
            'triangulo
            Case 1
                CalcularArea(opcion)
                Main()

                'cuadrado
            Case 2
                CalcularArea(opcion)
                Main()

                'rombo
            Case 3
                CalcularArea(opcion)
                Main()

                'Salir
            Case 4
                Console.WriteLine("¿Seguro que desea salir? s/n")
                Dim salida As String = ""
                salida = Console.ReadLine()
                If salida = "s" Or salida = "S" Then
                    Console.WriteLine("Saliendo del programa...")

                    Exit Sub
                ElseIf salida = "n" Or salida = "N" Then
                    Console.WriteLine("Se reiniciará el programa de nuevo para seguir usándolo.")
                    Console.WriteLine("")
                    Main()
                Else
                    Console.WriteLine("Debe indicar S o bien N, no otras teclas, el programa se reiniciará para que pueda usarlo.")
                    Main()
                End If

        End Select
    End Sub

    Sub CalcularArea(ByVal opcion)
         Select opcion
            'area triangulo
            Case 1
                Console.Write("Indique la longitud de la base del triángulo: ")
                Dim base As Integer = Console.ReadLine()

                Console.Write("Indique la altura del triángulo: ")
                Dim altura As Integer = Console.ReadLine()
                Console.Write("El área del triángulo es: " & (base * altura) / 2)
                Console.WriteLine("")  'salto de linea
                Console.WriteLine("")  'salto de linea

                'area cuadrado
            Case 2
                Console.Write("Indique la longitud del lado del cuadrado: ")
                Dim lado As Integer = Console.ReadLine()
                Console.Write("El área del cuadrado es: " & lado * lado)

                Console.WriteLine("")  'salto de linea
                Console.WriteLine("")  'salto de linea


                'area rombo
            Case 3
                Console.Write("Indique la longitud de la diagonal MAYOR del rombo: ")
                Dim mayor As Integer = Console.ReadLine()

                Console.Write("Indique la longitud de la diagonal MENOR del rombo: ")
                Dim menor As Integer = Console.ReadLine()
                Console.Write("El área del rombo es: " & (mayor * menor) / 2)
                Console.WriteLine("")  'salto de linea
                Console.WriteLine("")  'salto de linea

        End Select
    End Sub


End Module
